// Copyright 2018 André Bargull; Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

// Split from intl402/Locale/likely-subtags-grandfathered.js
/*---
esid: sec-intl.getcanonicallocales
description: >
    Verifies canonicalization of specific tags.
---*/


function Test() {
    const regularGrandfathered = [
        {
            tag: "art-lojban",
            canonical: "jbo",
        },
        {
            tag: "zh-guoyu",
            canonical: "zh",
        },
        {
            tag: "zh-hakka",
            canonical: "hak",
        },
        {
            tag: "zh-xiang",
            canonical: "hsn",
        },
    ];

    for (const {tag, canonical} of regularGrandfathered) {
        assert.sameValue(Intl.getCanonicalLocales(tag)[0], canonical);
    }
}

// preheat
const NUMBER_OF_PREHEAT = 1;
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}

ArkTools.jitCompileAsync(Test);
assert.sameValue(ArkTools.waitJitCompileFinish(Test), true, '[JIT] JIT disabled.');

// test
const NUMBER_OF_TEST = 1; // or 2
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}
